package com.me.study.event;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * Spring 事件驱动: 自定义事件的监听器, 增加事件的 handle 逻辑（需要配置为 spring Bean）
 *
 * @author ME
 * @date   2019/12/21
 */
@Component
public class HungerEventListener implements ApplicationListener<HungerEvent> {

    @Override
    public void onApplicationEvent(HungerEvent event) {
        // System.out.println(event.getSource());// 发布事件时任意自己想传递的值
        // System.out.println(event.getTimestamp());// 发布事件时的时间戳

        System.out.printf("【Spring】 Event(自定义事件): %s, %s hungry, let's cook~\n",
                new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(event.getTimestamp())), event.getSource());
    }
}
